home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 1 / Macwelt DVD 1.toast / Software für Mac-OS X / Entwickler-Tools / netbeans / modules / ext / djava.jar / koala / dynamicjava / parser / Parser$ArgumentsSuffix.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-03-14  |  2.9 KB  |  60 lines

  1. package koala.dynamicjava.parser;
  2.  
  3. import java.util.Iterator;
  4. import java.util.List;
  5. import koala.dynamicjava.parser.wrapper.ParseError;
  6. import koala.dynamicjava.parser.wrapper.TreeToken;
  7. import koala.dynamicjava.tree.Expression;
  8. import koala.dynamicjava.tree.ObjectMethodCall;
  9. import koala.dynamicjava.tree.SuperMethodCall;
  10.  
  11. class Parser$ArgumentsSuffix extends Parser.ExpressionSuffix {
  12.    public List arguments;
  13.    public int endLine;
  14.    public int endColumn;
  15.    // $FF: synthetic field
  16.    private final Parser this$0;
  17.  
  18.    public Expression createExpression(Expression var1, Iterator var2) {
  19.       if (var2.hasNext()) {
  20.          Parser.ExpressionSuffix var8 = (Parser.ExpressionSuffix)var2.next();
  21.          if (var8 instanceof Parser.DotIdentifierSuffix) {
  22.             Parser.DotIdentifierSuffix var9 = (Parser.DotIdentifierSuffix)var8;
  23.             Expression var10 = var1;
  24.             if (var2.hasNext()) {
  25.                var10 = ((Parser.ExpressionSuffix)var2.next()).createExpression(var1, var2);
  26.             } else if (var1 instanceof Parser.CompileTimeExpression) {
  27.                var10 = ((Parser.CompileTimeExpression)var1).createRuntimeExpression();
  28.             }
  29.  
  30.             return new ObjectMethodCall(var10, var9.identifier.image, this.arguments, Parser.access$0(this.this$0), var10.getBeginLine(), var10.getBeginColumn(), this.endLine, this.endColumn);
  31.          } else {
  32.             throw new ParseError(Parser.access$1(this.this$0).getMessage("parameter.list", (String[])null), Parser.access$0(this.this$0), this.endLine, this.endColumn);
  33.          }
  34.       } else if (var1 instanceof Parser.CompileTimeQualifiedName) {
  35.          List var7 = ((Parser.CompileTimeQualifiedName)var1).identifiers;
  36.          Token var4 = ((TreeToken)var7.get(0)).getToken();
  37.          Token var5 = ((TreeToken)var7.remove(var7.size() - 1)).getToken();
  38.          Expression var6 = null;
  39.          if (var7.size() >= 1) {
  40.             var6 = ((Parser.CompileTimeQualifiedName)var1).createRuntimeExpression();
  41.          }
  42.  
  43.          return new ObjectMethodCall(var6, var5.image, this.arguments, Parser.access$0(this.this$0), var4.beginLine, var4.beginColumn, this.endLine, this.endColumn);
  44.       } else if (var1 instanceof Parser.CompileTimeSuperExpression) {
  45.          Parser.CompileTimeSuperExpression var3 = (Parser.CompileTimeSuperExpression)var1;
  46.          return new SuperMethodCall(var3.identifier, this.arguments, Parser.access$0(this.this$0), var3.getBeginLine(), var3.getBeginColumn(), this.endLine, this.endColumn);
  47.       } else {
  48.          throw new ParseError(Parser.access$1(this.this$0).getMessage("parameter.list", (String[])null), Parser.access$0(this.this$0), this.endLine, this.endColumn);
  49.       }
  50.    }
  51.  
  52.    public Parser$ArgumentsSuffix(Parser var1, List var2, int var3, int var4) {
  53.       super(var1);
  54.       this.this$0 = var1;
  55.       this.arguments = var2;
  56.       this.endLine = var3;
  57.       this.endColumn = var4;
  58.    }
  59. }
  60.